#include <iostream>
#include <string>
#include <vector>
#include "../../Jugador.h"
#include "../../Mazo.h"
#include "../../Carta.h"
#include "../../JugadorReal.h"
#include "../Unit--/unit--.h"

using namespace std;

testSuite(JugSuite);//crea suite.

testCase(Case1, JugSuite) // prueva si la herencia esta bien hecha.
{
    Jugador a;
    a.setNombre("jager1");
    assertTrue("jager1" == a.getNombre());//prueva.

    JugadorReal b;
    b.setNombre("jager2");
    assertTrue("jager2" == b.getNombre());//prueva.
    cout<<b.getNombre()<<endl;

    JugadorReal* c = new JugadorReal();
    (*c).setNombre("jager3");
    assertTrue("jager3" == (*c).getNombre());//prueva.

    cout<<(*c).getNombre()<<endl;
    Mazo m;
    vector<Carta*> v;
    v.push_back(m.repartirNext());
    v.push_back(m.repartirNext());
    v.push_back(m.repartirNext());
    v.push_back(m.repartirNext());
    v.push_back(m.repartirNext());
    (*c).leerComando(v);
    (*c).ejecutarComando();
};

testCase(Case2, JugSuite) // prueva si el jugador real lee bien los comandos y los ejecuta.
{
    JugadorReal* c = new JugadorReal();
    (*c).setNombre("jager");
    assertTrue("jager" == (*c).getNombre());//prueva

    Mazo m;
    vector<Carta*> v;
    v.push_back(m.repartirNext());
    v.push_back(m.repartirNext());
    v.push_back(m.repartirNext());
    v.push_back(m.repartirNext());
    v.push_back(m.repartirNext());
    (*c).leerComando(v);
    (*c).ejecutarComando();
};
